1. Field of the Invention
The present invention relates to implementing a cryptography engine. More specifically, the present invention relates to methods and apparatus for efficient performance of a cryptography algorithm such as a DES algorithm.
2. Description of Related Art
Conventional software and hardware designs for implementing various cryptography algorithms including the DES and the triple DES algorithms have significant performance limitations. Many designs for performing cryptography processing are well known in the art and are discussed, for example, in Applied Cryptography, Bruce Schneier, John Wiley & Sons, Inc. (ISBN 0471128457), incorporated by reference in its entirety for all purposes. In order to improve the speed of cryptography processing, specialized cryptography accelerators have been developed that typically out-perform similar software implementations. Examples of such cryptography accelerators include the BCM™ 5805 manufactured by Broadcom, Inc. of San Jose, Calif.
Although specialized hardware cryptography accelerators can often outperform software written to perform the same tasks, conventional hardware cryptography accelerators have significant performance bottlenecks for implementing cryptography algorithms including the DES and the triple DES algorithms. Some performance bottlenecks include limitations related to key scheduling, clock rate, clock synchronization, and core logic operations.
It is therefore desirable to provide methods and apparatus for improving the implementation of cryptography algorithms with respect to some or all of the performance limitations noted above.